#include "master_spi.h"

SPIComm::SPIComm(uint8_t ssPin) : _ssPin(ssPin) {}

void SPIComm::begin() {
    // 初始化 SPI 总线
    SPI.begin();
    // 设置 SS 引脚为输出
    pinMode(_ssPin, OUTPUT);
    // 设置 SS 引脚为高电平，确保从设备不被选中
    digitalWrite(_ssPin, HIGH);
}

void SPIComm::sendData(uint8_t data) {
    // 选择从设备
    digitalWrite(_ssPin, LOW);
    // 发送数据
    SPI.transfer(data);
    // 取消选择从设备
    digitalWrite(_ssPin, HIGH);
}

void SPIComm::end() {
    // 结束 SPI 通信
    SPI.end();
}
